این کتاب به صورت رنگی است.
Product details
- Publisher : Pragmatic Bookshelf; 1st edition (August 4, 2015)
- Language : English
- Paperback : 288 pages
- ISBN-10 : 1680500554
- ISBN-13 : 978-1680500554
کتاب Mazes for Programmers: Code Your Own Twisty Little Passages
Unlock the secrets to creating random mazes! Whether you're a game developer, an algorithm connoisseur, or simply in search of a new puzzle, you're about to level up. Learn algorithms to randomly generate mazes in a variety of shapes, sizes, and dimensions. Bend them into Moebius strips, fold them into cubes, and wrap them around spheres. Stretch them into other dimensions, squeeze them into arbitrary outlines, and tile them in a dizzying variety of ways. From twelve little algorithms, you'll discover a vast reservoir of ideas and inspiration.
From video games to movies, mazes are ubiquitous. Explore a dozen algorithms for generating these puzzles randomly, from Binary Tree to Eller's, each copiously illustrated and accompanied by working implementations in Ruby. You'll learn their pros and cons, and how to choose the right one for the job.
You'll start by learning six maze algorithms and transition from making mazes on paper to writing programs that generate and draw them. You'll be introduced to Dijkstra's algorithm and see how it can help solve, analyze, and visualize mazes. Part 2 shows you how to constrain your mazes to different shapes and outlines, such as text, circles, hex and triangle grids, and more. You'll learn techniques for culling dead-ends, and for making your passages weave over and under each other. Part 3 looks at six more algorithms, taking it all to the next level. You'll learn how to build your mazes in multiple dimensions, and even on curved surfaces.
Through it all, you'll discover yourself brimming with ideas, the best medicine for programmer's block, burn-out, and the grayest of days. By the time you're done, you'll be energized and full of maze-related possibilities!
What You Need:
The example code requires version 2 of the Ruby programming language. Some examples depend on the ChunkyPNG library to generate PNG images, and one chapter uses POV-Ray version 3.7 to render 3D graphics.
منابع کتاب کتاب Mazes for Programmers: Code Your Own Twisty Little Passages
اسرار ایجاد پیچ و خم های تصادفی را باز کنید! چه یک توسعهدهنده بازی باشید، چه یک خبره الگوریتم، یا صرفاً در جستجوی یک پازل جدید، در آستانه ارتقاء سطح هستید. الگوریتم هایی را بیاموزید تا به طور تصادفی پیچ و خم ها را در اشکال، اندازه ها و ابعاد مختلف تولید کنید. آنها را به صورت نوارهای Moebius خم کنید، آنها را به صورت مکعبی تا کنید و آنها را دور کره ها بپیچید. آنها را به ابعاد دیگر بکشید، آنها را به شکل طرح های دلخواه فشار دهید، و آنها را به روش های گیج کننده ای کاشی کنید. از دوازده الگوریتم کوچک، مخزن وسیعی از ایده ها و الهام را کشف خواهید کرد.
از بازی های ویدیویی گرفته تا فیلم ها، پیچ و خم ها همه جا هستند. دوازده الگوریتم برای تولید این پازلها بهطور تصادفی، از درخت دودویی گرفته تا Eller's، که هرکدام به وفور نشان داده شدهاند و با پیادهسازیهای کاری در روبی همراه هستند، کاوش کنید. مزایا و معایب آنها و نحوه انتخاب مناسب برای کار را خواهید آموخت.
شما با یادگیری شش الگوریتم ماز شروع خواهید کرد و از ساخت پیچ و خم روی کاغذ به نوشتن برنامه هایی که آنها را تولید و ترسیم می کنند، گذر خواهید کرد. شما با الگوریتم Dijkstra آشنا خواهید شد و خواهید دید که چگونه می تواند به حل، تجزیه و تحلیل و تجسم پیچ و خم ها کمک کند. قسمت 2 به شما نشان می دهد که چگونه پیچ و خم های خود را به اشکال و خطوط مختلف محدود کنید، مانند متن، دایره، شبکه های شش گوش و مثلث، و موارد دیگر. شما تکنیک هایی را برای از بین بردن بن بست ها، و ساختن گذرگاه های خود بر روی هم و زیر یکدیگر یاد خواهید گرفت. قسمت 3 به شش الگوریتم دیگر می پردازد و همه را به سطح بعدی می برد. شما یاد خواهید گرفت که چگونه پیچ و خم های خود را در ابعاد مختلف و حتی روی سطوح منحنی بسازید.
از طریق همه اینها، متوجه خواهید شد که پر از ایده هستیدبهترین دارو برای رفع گرفتگی برنامه نویس، فرسودگی و خاکستری ترین روزها. تا زمانی که کارتان تمام شود، پر انرژی و پر از امکانات مربوط به پیچ و خم خواهید شد!
آنچه شما نیاز دارید:
کد نمونه به نسخه 2 زبان برنامه نویسی Ruby نیاز دارد. برخی از نمونهها برای تولید تصاویر PNG به کتابخانه ChunkyPNG وابسته هستند و یک فصل از POV-Ray نسخه 3.7 برای ارائه گرافیکهای سه بعدی استفاده میکند.
ارسال نظر درباره کتاب Mazes for Programmers: Code Your Own Twisty Little Passages